package com.wicket.okrapp.web.contorller;

import com.wicket.okrapp.biz.service.StandardDataService;
import com.wicket.okrapp.biz.service.dto.req.*;
import com.wicket.okrapp.biz.service.dto.res.*;
import com.wicket.okrapp.common.ro.OkrResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
@RestController
@RequestMapping("/app/standardData/")
public class StandardDataController {

  @Autowired
  StandardDataService standardDataService;

/**
   * D3-查询得分权重准备详情(公共)
   */
    @PostMapping("queryPrepareForScoreWeightDetailCom")
    public OkrResult<QueryPrepareForScoreWeightDetailComRespDto> queryPrepareForScoreWeightDetailCom(@RequestBody @Validated QueryPrepareForScoreWeightDetailComReqDto reqDTO){
    return OkrResult.success(standardDataService.queryPrepareForScoreWeightDetailCom(reqDTO));
    }
/**
   * D3-执行向右分析过程周期（公共）
   */
    @PostMapping("implementPercentageGrowthDeclineStandardDataCom")
    public OkrResult<ImplementPercentageGrowthDeclineStandardDataComRespDto> implementPercentageGrowthDeclineStandardDataCom(@RequestBody @Validated ImplementPercentageGrowthDeclineStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementPercentageGrowthDeclineStandardDataCom(reqDTO));
    }
/**
   * 1111D3-执行提交汇报任务异常校验(公共)
   */
    @PostMapping("implementCommitTaskReportCheckCom")
    public OkrResult<ImplementCommitTaskReportCheckComRespDto> implementCommitTaskReportCheckCom(@RequestBody @Validated ImplementCommitTaskReportCheckComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementCommitTaskReportCheckCom(reqDTO));
    }
/**
   * D3-查朋友圈列表标准数据(公共)
   */
    @PostMapping("queryHighMidBaseStandardDataByStageDataDetailCom")
    public OkrResult<QueryHighMidBaseStandardDataByStageDataDetailComRespDto> queryHighMidBaseStandardDataByStageDataDetailCom(@RequestBody @Validated QueryHighMidBaseStandardDataByStageDataDetailComReqDto reqDTO){
    return OkrResult.success(standardDataService.queryHighMidBaseStandardDataByStageDataDetailCom(reqDTO));
    }
/**
   * D3-执行提交标准数据准备(公共)
   */
    @PostMapping("implementReadyForCommitStandardDataCom")
    public OkrResult<ImplementReadyForCommitStandardDataComRespDto> implementReadyForCommitStandardDataCom(@RequestBody @Validated ImplementReadyForCommitStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementReadyForCommitStandardDataCom(reqDTO));
    }
/**
   * D3-执行分析是否工作周期数据(公共)
   */
    @PostMapping("implementIsWorkCycleDataAnalysisCom")
    public OkrResult<ImplementIsWorkCycleDataAnalysisComRespDto> implementIsWorkCycleDataAnalysisCom(@RequestBody @Validated ImplementIsWorkCycleDataAnalysisComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementIsWorkCycleDataAnalysisCom(reqDTO));
    }
/**
   * D3执行增目标内容预算标准数据(公共)
   */
    @PostMapping("implementAddTargetCycleBudgetStandardDataCom")
    public OkrResult<ImplementAddTargetCycleBudgetStandardDataComRespDto> implementAddTargetCycleBudgetStandardDataCom(@RequestBody @Validated ImplementAddTargetCycleBudgetStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementAddTargetCycleBudgetStandardDataCom(reqDTO));
    }
/**
   * D3执行循环增祖先预算标准数据(公共)
   */
    @PostMapping("implementLoopAddAncestorBudgetStandardDataCom")
    public OkrResult<ImplementLoopAddAncestorBudgetStandardDataComRespDto> implementLoopAddAncestorBudgetStandardDataCom(@RequestBody @Validated ImplementLoopAddAncestorBudgetStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementLoopAddAncestorBudgetStandardDataCom(reqDTO));
    }
/**
   * D3-更新当前及祖先预算标准数据(公共)
   */
    @PostMapping("refreshParentBudgetStandardDataCom")
    public OkrResult<RefreshParentBudgetStandardDataComRespDto> refreshParentBudgetStandardDataCom(@RequestBody @Validated RefreshParentBudgetStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.refreshParentBudgetStandardDataCom(reqDTO));
    }
/**
   * D3-执行当前内容预算标准数据(公共)
   */
    @PostMapping("implementCurBudgetStandardDataCom")
    public OkrResult<ImplementCurBudgetStandardDataComRespDto> implementCurBudgetStandardDataCom(@RequestBody @Validated ImplementCurBudgetStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementCurBudgetStandardDataCom(reqDTO));
    }
/**
   * D3-执行自动汇报标准数据准备(公共)
   */
    @PostMapping("implementAutoReportStandardDataCom")
    public OkrResult<ImplementAutoReportStandardDataComRespDto> implementAutoReportStandardDataCom(@RequestBody @Validated ImplementAutoReportStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementAutoReportStandardDataCom(reqDTO));
    }
/**
   * D3执行循环增祖先目标周期资金来源预算标准数据(公共)
   */
    @PostMapping("implementLoopAddAncestorContTargetCycleBudgetDataCom")
    public OkrResult<ImplementLoopAddAncestorContTargetCycleBudgetDataComRespDto> implementLoopAddAncestorContTargetCycleBudgetDataCom(@RequestBody @Validated ImplementLoopAddAncestorContTargetCycleBudgetDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementLoopAddAncestorContTargetCycleBudgetDataCom(reqDTO));
    }
/**
   * D3-提交预算支出标准数据(公共)
   */
    @PostMapping("commitBudgetDisburseStandardDataCom")
    public OkrResult<CommitBudgetDisburseStandardDataComRespDto> commitBudgetDisburseStandardDataCom(@RequestBody @Validated CommitBudgetDisburseStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.commitBudgetDisburseStandardDataCom(reqDTO));
    }
/**
   * D3-提交提交实际值及预算支出数据准备(公共)
   */
    @PostMapping("commitReadyForCommitActualValueAndBudgetStandardDataCom")
    public OkrResult<CommitReadyForCommitActualValueAndBudgetStandardDataComRespDto> commitReadyForCommitActualValueAndBudgetStandardDataCom(@RequestBody @Validated CommitReadyForCommitActualValueAndBudgetStandardDataComReqDto reqDTO){
    return OkrResult.success(standardDataService.commitReadyForCommitActualValueAndBudgetStandardDataCom(reqDTO));
    }
/**
   * D3准备目标内容周期与相关人等入参数据(公共)
   */
    @PostMapping("preparationTargetCycleAndPeopleEternalGinsengCom")
    public OkrResult<PreparationTargetCycleAndPeopleEternalGinsengComRespDto> preparationTargetCycleAndPeopleEternalGinsengCom(@RequestBody @Validated PreparationTargetCycleAndPeopleEternalGinsengComReqDto reqDTO){
    return OkrResult.success(standardDataService.preparationTargetCycleAndPeopleEternalGinsengCom(reqDTO));
    }
/**
   * D3获取计算开始时间(公共)
   */
    @PostMapping("obtainCalcStartTimeCom")
    public OkrResult<ObtainCalcStartTimeComRespDto> obtainCalcStartTimeCom(@RequestBody @Validated ObtainCalcStartTimeComReqDto reqDTO){
    return OkrResult.success(standardDataService.obtainCalcStartTimeCom(reqDTO));
    }
/**
   * D3准备目标内容周期等入参数据(公共)
   */
    @PostMapping("preparationTargetCycleEternalGinsengCom")
    public OkrResult<PreparationTargetCycleEternalGinsengComRespDto> preparationTargetCycleEternalGinsengCom(@RequestBody @Validated PreparationTargetCycleEternalGinsengComReqDto reqDTO){
    return OkrResult.success(standardDataService.preparationTargetCycleEternalGinsengCom(reqDTO));
    }
/**
   * D3执行财务账户内容数据推redis(公共)
   */
    @PostMapping("implementSingleFinancialAccountContentDataPushRedisCom")
    public OkrResult<ImplementSingleFinancialAccountContentDataPushRedisComRespDto> implementSingleFinancialAccountContentDataPushRedisCom(@RequestBody @Validated ImplementSingleFinancialAccountContentDataPushRedisComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementSingleFinancialAccountContentDataPushRedisCom(reqDTO));
    }
/**
   * D3-执行计算主观得分数据准备(公共)
   */
    @PostMapping("implementPrepareForSubjectiveScoreCom")
    public OkrResult<ImplementPrepareForSubjectiveScoreComRespDto> implementPrepareForSubjectiveScoreCom(@RequestBody @Validated ImplementPrepareForSubjectiveScoreComReqDto reqDTO){
    return OkrResult.success(standardDataService.implementPrepareForSubjectiveScoreCom(reqDTO));
    }
/**
   * D3准备标准数据内容及周期数据(公共)
   */
    @PostMapping("preparationStandardDataContAndCycleCom")
    public OkrResult<PreparationStandardDataContAndCycleComRespDto> preparationStandardDataContAndCycleCom(@RequestBody @Validated PreparationStandardDataContAndCycleComReqDto reqDTO){
    return OkrResult.success(standardDataService.preparationStandardDataContAndCycleCom(reqDTO));
    }
/**
   * D3查询已提交的财务标准数据详情(公共)
   */
    @PostMapping("querySubmitFinanceStandardDataDetailCom")
    public OkrResult<QuerySubmitFinanceStandardDataDetailComRespDto> querySubmitFinanceStandardDataDetailCom(@RequestBody @Validated QuerySubmitFinanceStandardDataDetailComReqDto reqDTO){
    return OkrResult.success(standardDataService.querySubmitFinanceStandardDataDetailCom(reqDTO));
    }
///**
//   * D3-执行同级兄弟数据更新分析(公共)
//   */
//    @PostMapping("implementSiblingBrotherDataUpdateAnalysisCom")
//    public OkrResult<ImplementSiblingBrotherDataUpdateAnalysisComRespDto> implementSiblingBrotherDataUpdateAnalysisCom(@RequestBody @Validated ImplementSiblingBrotherDataUpdateAnalysisComReqDto reqDTO){
//    return OkrResult.success(standardDataService.implementSiblingBrotherDataUpdateAnalysisCom(reqDTO));
//    }
}
